package com.xiaoshuidi.cloud.module.contract.service.filings;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.xiaoshuidi.cloud.module.contract.dal.dataobject.filings.ContractFilingsDO;
import com.xiaoshuidi.cloud.module.contract.dal.mysql.filings.ContractFilingsMapper;
import com.xiaoshuidi.cloud.module.contract.enums.contract.ContractFilingsEnum;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

@Service
public class ContractFilingsServiceImpl implements ContractFilingsService{

    @Resource
    private ContractFilingsMapper contractFilingsMapper;

    @Override
    public void insert(ContractFilingsDO filingsDO) {
        contractFilingsMapper.insert(filingsDO);
    }

    @Override
    public List<ContractFilingsDO> selectByContractId(Long contractId) {
        LambdaQueryWrapper<ContractFilingsDO> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(ContractFilingsDO::getContractId,contractId);
        queryWrapper.eq(ContractFilingsDO::getStatus, ContractFilingsEnum.SUCCESS.getCode());
        return contractFilingsMapper.selectList(queryWrapper);
    }

    @Override
    public List<ContractFilingsDO> selectListSignSuccess() {
        LambdaQueryWrapper<ContractFilingsDO> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(ContractFilingsDO::getSignStatus, "1");
        queryWrapper.ne(ContractFilingsDO::getStatus, "1");
        return contractFilingsMapper.selectList(queryWrapper);
    }

    @Override
    public void update(ContractFilingsDO filingsDO) {
        contractFilingsMapper.updateById(filingsDO);
    }
}
